package model;

import javax.swing.JComponent;

/**
 * Deze klasse is de basisklasse voor alle multimedia klasses.
 * Deze klasse zorgt er voor dat de rest van de applicatie
 * niet weet met welk soort multimedia het te maken heeft
 * (Program to a interface)
 */
public abstract class MultiMedia {
    
    protected String number;
    
    public MultiMedia(String number) {
        this.number = number;
    }
    
    /**
     * Subklasses moeten deze methode overriden.
     * De methode moet een view teruggeven die in een panel
     * kan worden gedaan, daarom is het return type een JComponent.
     * Dit is een factory method.
     * 
     * @return JComponent de view.
     */
    public abstract JComponent getView();
    
    /**
     * Deze methode moet een naam terug geven.
     * 
     * @return 
     */
    public abstract String getName();
}
